﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Windows.Forms;
using fb.component.contracts;
using Gibraltar.Agent;

namespace fb.host
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Trace.TraceInformation("fb.host started");
            Log.SendSessionsOnExit = true;

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Trace.TraceInformation("build components");
            IPortal portal = new fragebogen.portal.Portal();
            IBefragung befragung = new fb.befragung.Befragung();
            IFragebogenAdapter adapter = new fb.adapter.FragebogenAdapter();

            Trace.TraceInformation("bind components");
            portal.Out_FragebogenLaden = adapter.In_Laden;
            portal.Out_AntwortmöglichkeitGewählt = befragung.In_AntwortGegeben;
            portal.Out_AuswertungsAnfrage = befragung.In_AuswertungsAnfrage;
            portal.Out_GruppenAnfrage = befragung.In_GruppenAnfrage;

            adapter.Out_FragebogenGeladen = befragung.In_Fragebogen;

            befragung.Out_ViewDerAktuellenBefragungsGruppe = portal.In_AktuelleBefragungsGruppe;

            Trace.TraceInformation("run");
            Application.Run((Form)portal);

            Trace.TraceInformation("fb.host finished");
            Trace.Close();
        }
    }
}
